<template>
	<view class="privacy-container">
		<!-- 标题栏 -->
		<view class="privacy-header" v-if="!firstTime">
			<text class="privacy-title">隐私政策</text>
		</view>

		<!-- 首次打开的特殊样式 -->
		<view v-if="firstTime" class="first-time-container">
			<view class="welcome-section">
				<image src="https://admin.mosizp.cn/static/public/logo.png" class="app-logo" mode="aspectFit"></image>
				<text class="app-name">摩师直聘</text>
				<text class="welcome-text">欢迎使用摩师直聘</text>
			</view>

			<view class="privacy-content-wrapper">
				<view class="privacy-intro">
					<text class="intro-text">在您使用本应用前，请认真阅读并同意以下条款：</text>
				</view>

				<!-- 协议内容区域 -->
				<view class="agreement-section">
					<!-- H5端使用iframe直接显示 -->
					<!-- #ifdef H5 -->
					<view class="iframe-wrapper">
						<iframe src="https://admin.mosizp.cn/service.html" class="privacy-iframe"></iframe>
					</view>
					<!-- #endif -->

					<!-- 小程序端使用web-view -->
					<!-- #ifdef MP-WEIXIN -->
					<scroll-view scroll-y class="content-scroll">
						<view class="privacy-content-text">
							<rich-text :nodes="privacyContent" v-if="privacyContent"></rich-text>
							<view v-else class="loading-text">正在加载隐私政策内容...</view>
						</view>
					</scroll-view>
					<!-- #endif -->

					<!-- APP端 -->
					<!-- #ifdef APP-PLUS -->
					<web-view src="https://admin.mosizp.cn/service.html" class="privacy-webview"></web-view>
					<!-- #endif -->
				</view>

				<!-- 按钮区域 -->
				<view class="button-section">
					<button class="btn-agree" @click="agreePrivacy">同意并继续</button>
					<button class="btn-disagree" @click="disagreePrivacy">暂不同意</button>
				</view>
			</view>
		</view>

		<!-- 正常查看隐私政策 -->
		<view v-else class="normal-container">
			<!-- H5端使用iframe -->
			<!-- #ifdef H5 -->
			<iframe src="https://admin.mosizp.cn/service.html" class="full-iframe"></iframe>
			<!-- #endif -->

			<!-- 非H5端使用webview -->
			<!-- #ifndef H5 -->
			<web-view src="https://admin.mosizp.cn/service.html"></web-view>
			<!-- #endif -->
		</view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			firstTime: false,
			version: '1.0.0',
			privacyContent: '' // 隐私政策内容
		}
	},
	onLoad(options) {
		this.firstTime = options.firstTime === 'true';
		this.version = options.version || '1.0.0';

		if (this.firstTime) {
			// 设置页面标题
			uni.setNavigationBarTitle({
				title: '服务协议与隐私政策'
			});
			// 隐藏返回按钮
			// #ifdef MP-WEIXIN
			uni.hideHomeButton();
			// #endif

			// 小程序端获取隐私政策内容
			// #ifdef MP-WEIXIN
			this.fetchPrivacyContent();
			// #endif
		}
	},
	mounted() {
		// 设置隐私政策内容
		this.setPrivacyContent();
	},
	methods: {
		// 设置隐私政策内容
		setPrivacyContent() {
			this.privacyContent = `
			<h2 style="color: #333; margin-bottom: 20px;">摩师直聘隐私政策</h2>

			<p style="margin-bottom: 15px; color: #666;">有任何问题，请通过 <a href="mailto:mosizhip2025@126.com" style="color: #2FC971;">mosizhip2025@126.com</a> 与我们联系。</p>

			<h3 style="color: #333; margin: 20px 0 10px 0;">1. 我们收集的信息</h3>
			<p style="line-height: 1.6; color: #666; margin-bottom: 15px;">我们或我们的第三方合作伙伴提供服务时，可能会收集、储存和使用下列与您有关的信息。如果您不提供相关信息，可能无法注册成为我们的用户或无法享受我们提供的某些服务，或者无法达到相关服务拟达到的效果。</p>

			<p style="line-height: 1.6; color: #666; margin-bottom: 10px;"><strong>个人信息：</strong>您在注册账户或使用我们的服务时，向我们提供的相关个人信息，例如电话号码、电子邮件等。</p>

			<p style="line-height: 1.6; color: #666; margin-bottom: 15px;"><strong>位置信息：</strong>指您开启设备定位功能并使用我们基于位置提供的相关服务时，收集的有关您位置的信息，包括：</p>
			<ul style="margin-left: 20px; color: #666;">
				<li style="margin-bottom: 8px;">您通过具有定位功能的移动设备使用我们的服务时，通过GPS或WiFi等方式收集的您的地理位置信息；</li>
				<li style="margin-bottom: 8px;">您可以通过关闭定位功能，停止对您的地理位置信息的收集。</li>
			</ul>

			<h3 style="color: #333; margin: 20px 0 10px 0;">2. 信息的存储</h3>
			<p style="line-height: 1.6; color: #666; margin-bottom: 15px;">我们会通过安全的方式存储您的信息，包括本地存储（例如利用APP）。但请您理解，由于技术的限制以及可能存在的各种恶意手段，在互联网行业，即便竭尽所能加强安全措施，也不可能始终保证信息百分之百的安全。您需要了解，您接入我们的服务所用的系统和通讯网络，有可能因我们可控范围外的因素而出现问题。</p>

			<h3 style="color: #333; margin: 20px 0 10px 0;">4. 我们如何使用信息</h3>
			<p style="line-height: 1.6; color: #666; margin-bottom: 10px;">我们可能将在向您提供服务的过程之中所收集的信息用作下列用途：</p>
			<ul style="margin-left: 20px; color: #666; margin-bottom: 15px;">
				<li style="margin-bottom: 8px;">向您提供服务；</li>
				<li style="margin-bottom: 8px;">在我们提供服务时，用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途，确保我们向您提供的产品和服务的安全性；</li>
				<li style="margin-bottom: 8px;">帮助我们设计新服务，改善我们现有服务；</li>
				<li style="margin-bottom: 8px;">使我们更加了解您如何接入和使用我们的服务，从而针对性地回应您的个性化需求，例如语言设定、位置设定、个性化的帮助服务和指示，或对您和其他用户作出其他方面的回应；</li>
				<li style="margin-bottom: 8px;">向您提供与您更加相关的广告以替代普遍投放的广告。</li>
			</ul>

			<h3 style="color: #333; margin: 20px 0 10px 0;">5. 信息共享、转让、公开披露</h3>
			<p style="line-height: 1.6; color: #666; margin-bottom: 15px;">我们不会向其他任何公司、组织和个人分享您的个人信息，但以下情况除外：</p>
			<ul style="margin-left: 20px; color: #666; margin-bottom: 15px;">
				<li style="margin-bottom: 8px;">与国家安全、国防安全直接相关的；</li>
				<li style="margin-bottom: 8px;">与公共安全、公共卫生、重大公共利益直接相关的；</li>
				<li style="margin-bottom: 8px;">犯罪侦查、起诉、审判和判决执行等直接相关的；</li>
				<li style="margin-bottom: 8px;">出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的；</li>
				<li style="margin-bottom: 8px;">个人信息主体自行向社会公众公开个人信息的；</li>
			</ul>

			<h3 style="color: #333; margin: 20px 0 10px 0;">8. 未成年人保护</h3>
			<p style="line-height: 1.6; color: #666; margin-bottom: 15px;">我们鼓励父母或监护人指导未满十八岁的未成年人使用我们的服务。我们建议未成年人鼓励他们的父母或监护人阅读本《隐私政策》，并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。</p>

			<h3 style="color: #333; margin: 20px 0 10px 0;">9. 联系我们</h3>
			<p style="line-height: 1.6; color: #666; margin-bottom: 20px;">如果您对本隐私政策有任何疑问、意见或建议，请通过以下方式与我们联系：<br/>
			邮箱：<a href="mailto:mosizhip2025@126.com" style="color: #2FC971;">mosizhip2025@126.com</a></p>
			`;
		},

		// 获取隐私政策内容（小程序端）
		fetchPrivacyContent() {
			uni.request({
				url: 'https://admin.mosizp.cn/service.html',
				method: 'GET',
				success: (res) => {
					// 将HTML内容转换为富文本节点
					if (res.data) {
						// 简单处理HTML，移除不必要的标签
						let content = res.data;
						// 移除script标签
						content = content.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
						// 移除style标签
						content = content.replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi, '');
						// 保留基本的HTML结构
						this.privacyContent = content;
					}
				},
				fail: () => {
					// 如果加载失败，显示默认内容
					this.privacyContent = `
						<div style="padding: 20px;">
							<h3>隐私政策</h3>
							<p>请访问 https://admin.mosizp.cn/service.html 查看完整的隐私政策。</p>
							<p>我们重视您的隐私保护，将严格遵守相关法律法规，保护您的个人信息安全。</p>
						</div>
					`;
				}
			});
		},

		// 同意隐私政策
		agreePrivacy() {
			// 保存同意记录
			uni.setStorageSync('privacy_policy_agreed', true);
			uni.setStorageSync('privacy_policy_version', this.version);
			uni.setStorageSync('privacy_policy_agreed_time', new Date().toISOString());

			// 关闭页面或跳转到首页
			const pages = getCurrentPages();
			if (pages.length > 1) {
				uni.navigateBack();
			} else {
				uni.reLaunch({
					url: '/pages/public/index'
				});
			}
		},

		// 不同意隐私政策
		disagreePrivacy() {
			uni.showModal({
				title: '提示',
				content: '您需要同意隐私政策才能使用本应用',
				confirmText: '重新考虑',
				cancelText: '退出应用',
				success: (res) => {
					if (res.confirm) {
						// 用户选择重新考虑，不做任何操作
					} else if (res.cancel) {
						// 退出应用
						// #ifdef APP-PLUS
						plus.runtime.quit();
						// #endif
						// #ifdef H5
						window.close();
						// #endif
						// #ifdef MP-WEIXIN
						wx.exitMiniProgram();
						// #endif
					}
				}
			});
		}
	}
}
</script>

<style lang="scss" scoped>
.privacy-container {
	width: 100%;
	height: 100vh;
	background: #f5f5f5;
}

.privacy-header {
	padding: 30rpx;
	background: #fff;
	border-bottom: 1rpx solid #eee;
}

.privacy-title {
	font-size: 36rpx;
	font-weight: bold;
	color: #333;
}

// 首次打开的样式
.first-time-container {
	width: 100%;
	height: 100vh;
	background: #fff;
	display: flex;
	flex-direction: column;
}

.welcome-section {
	padding: 80rpx 0 60rpx;
	text-align: center;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.app-logo {
	width: 120rpx;
	height: 120rpx;
	border-radius: 24rpx;
}

.app-name {
	display: block;
	margin-top: 20rpx;
	font-size: 40rpx;
	font-weight: bold;
	color: #fff;
}

.welcome-text {
	display: block;
	margin-top: 10rpx;
	font-size: 28rpx;
	color: rgba(255, 255, 255, 0.9);
}

.privacy-content-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 40rpx 40rpx 60rpx;
}

.privacy-intro {
	margin-bottom: 30rpx;
}

.intro-text {
	font-size: 30rpx;
	color: #333;
	line-height: 42rpx;
}

.agreement-section {
	flex: 1;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.iframe-wrapper {
	flex: 1;
	overflow: hidden;
	border: 1rpx solid #eee;
	border-radius: 12rpx;
	background: #fff;
}

.privacy-iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.content-scroll {
	flex: 1;
	background: #fff;
	border: 1rpx solid #eee;
	border-radius: 12rpx;
	padding: 20rpx;
}

.privacy-content-text {
	font-size: 28rpx;
	color: #333;
	line-height: 40rpx;
}

.loading-text {
	text-align: center;
	color: #999;
	padding: 40rpx;
}

.privacy-webview {
	flex: 1;
	width: 100%;
	height: 100%;
}

.button-section {
	padding-top: 40rpx;
}

.btn-agree {
	width: 100%;
	height: 90rpx;
	line-height: 90rpx;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	font-size: 32rpx;
	border-radius: 45rpx;
	border: none;
	margin-bottom: 30rpx;
}

.btn-disagree {
	width: 100%;
	height: 90rpx;
	line-height: 90rpx;
	background: #fff;
	color: #666;
	font-size: 30rpx;
	border-radius: 45rpx;
	border: 1rpx solid #ddd;
}

// 正常查看的样式
.normal-container {
	width: 100%;
	height: 100vh;
}

.full-iframe {
	width: 100%;
	height: 100%;
	border: none;
}
</style>